package com.chenchen.tiguan.venue.service;

import java.util.List;

import com.chenchen.tiguan.venue.domain.VenueOpenTime;
import com.chenchen.tiguan.venue.domain.VenueTimeSlot;

/**
 * 预生成的场地可预约时间段Service接口
 * 
 * @author chenchen
 * @date 2025-04-14
 */
public interface IVenueTimeSlotService 
{
    /**
     * 查询预生成的场地可预约时间段
     * 
     * @param slotId 预生成的场地可预约时间段主键
     * @return 预生成的场地可预约时间段
     */
    public VenueTimeSlot selectVenueTimeSlotBySlotId(Long slotId);

    /**
     * 查询预生成的场地可预约时间段列表
     * 
     * @param venueTimeSlot 预生成的场地可预约时间段
     * @return 预生成的场地可预约时间段集合
     */
    public List<VenueTimeSlot> selectVenueTimeSlotList(VenueTimeSlot venueTimeSlot);

    /**
     * 新增预生成的场地可预约时间段
     * 
     * @param venueTimeSlot 预生成的场地可预约时间段
     * @return 结果
     */
    public int insertVenueTimeSlot(VenueTimeSlot venueTimeSlot);

    /**
     * 修改预生成的场地可预约时间段
     * 
     * @param venueTimeSlot 预生成的场地可预约时间段
     * @return 结果
     */
    public int updateVenueTimeSlot(VenueTimeSlot venueTimeSlot);

    /**
     * 批量删除预生成的场地可预约时间段
     * 
     * @param slotIds 需要删除的预生成的场地可预约时间段主键集合
     * @return 结果
     */
    public int deleteVenueTimeSlotBySlotIds(Long[] slotIds);

    /**
     * 删除预生成的场地可预约时间段信息
     * 
     * @param slotId 预生成的场地可预约时间段主键
     * @return 结果
     */
    public int deleteVenueTimeSlotBySlotId(Long slotId);

    public int updateVenueTimeSlotWhenInsertAndUpdate(Long venueId, VenueOpenTime venueOpenTime);

    public int updateVenueTimeSlotWhenDelete(Long venueId, VenueOpenTime venueOpenTime);
}
